package com.example.lottery.service;

import com.example.lottery.controller.param.UserLoginByMessageParam;
import com.example.lottery.controller.param.UserLoginByPasswordParam;
import com.example.lottery.controller.param.UserLoginParam;
import com.example.lottery.controller.param.UserRegisterParam;
import com.example.lottery.service.dto.UserBaseInfoDTO;
import com.example.lottery.service.dto.UserLoginDTO;
import com.example.lottery.service.dto.UserRegisterDTO;
import com.example.lottery.service.enums.UserIdentityEnum;
import jakarta.servlet.http.HttpServletRequest;

import java.util.List;

/**
 * 用户接口
 */
public interface IUserService {

    /**
     * 注册用户逻辑
     * @param userRegisterParam 添加用户信息
     * @return 用户的id主键
     */
    UserRegisterDTO userRegister(UserRegisterParam userRegisterParam);

    /**
     * 登陆（密码、验证码）
     * @param loginParam loginByPasswordParam  or loginByMessageParam
     * @return
     */
    UserLoginDTO userLogin(UserLoginParam loginParam);

    /**
     * 获取用户列表
     * @param identity 如果为空返回全部用户
     * @return
     */

    List<UserBaseInfoDTO> findUserBase(UserIdentityEnum identity);

    void exit(String token);
}
